package cn.huiyunche.base.service.interfaces;

import cn.huiyunche.base.service.form.ScBaseCvTankvolumeForm;
import cn.huiyunche.base.service.interfaces.query.ScBaseCvQueryConditions;
import cn.huiyunche.base.service.model.ScBaseCvTankvolume;
import cn.huiyunche.base.service.vo.PageVo;
import cn.huiyunche.base.service.vo.ScBaseCvTankvolumeVo;
import org.springframework.validation.BindingResult;

import java.util.Map;

/**
 * Created by Administrator on 2017/4/28 0028.
 */
public interface ScBaseCvTankvolumeService {

    /**
     * Select list by conditions map.
     *
     * @param pageVo     the page vo
     * @param conditions the form
     * @return the map
     */
    Map<String, Object> selectListByConditions(PageVo pageVo, ScBaseCvQueryConditions conditions)  throws Exception;

    /**
     * Add integer.
     *
     * @param form the form
     * @param br   the br
     * @return the integer
     * @throws Exception the exception
     */
    Integer add(ScBaseCvTankvolumeForm form, BindingResult br)  throws Exception;

    /**
     * Update.
     *
     * @param form the form
     * @param br   the br
     * @throws Exception the exception
     */
    void update(ScBaseCvTankvolumeForm form, BindingResult br)  throws Exception;

    /**
     * Select by primary key ScBaseCvTankvolume.
     *
     * @param id the id
     * @return the ScBaseCvTankvolume
     * @throws Exception the exception
     */
    ScBaseCvTankvolume selectByPrimaryId(Integer id)  throws Exception;


    /**
     * Del.
     *
     * @param id the id
     * @throws Exception the exception
     */
    void del(Integer id)  throws Exception;

    /**
     * 根据车型分类查油箱容积
     *
     * @param  vehicleClassifyId
     * @return the ScBaseCvTankvolume
     */
    ScBaseCvTankvolumeVo selectCvTankvolumeByCvTypeId(Integer vehicleClassifyId) throws Exception;

    /**
     * 验证车型是否唯一
     *
     * @param  form
     */
    void verificationCarTypeUnique(ScBaseCvTankvolumeForm form) throws Exception;
}
